/*! _landing.scss | vuero | Css ninja 2020-2021 */

/*
    1. Landing page defaults
    2. Navigation
    3. Navigation Dark mode
    4. Hero
    5. Hero Dark mode
    6. Stacks
    7. Boxed Features
    8. Boxed Features Dark mode
    9. Sections
    10. Sections Dark mode
    11. CTA block
    12. CTA block Dark mode
    13. Demos 
    14. Demos Dark mode
    15. Footer 
    16. Footer Dark mode
    17. Night Switch
    18. CTA Section
    19. CTA Section Dark mode
    20. Media Queries
*/

/* ==========================================================================
1. Defaults
========================================================================== */

.landing-page-wrapper {
  overflow-x: hidden;

  .container {
    max-width: 1140px;
  }

  .light-image-l {
    display: inline-block !important;
  }

  .dark-image-l {
    display: none !important;
  }

  .light-image-block-l {
    display: block !important;
  }

  .dark-image-block-l {
    display: none !important;
  }
}

.is-dark {
  .landing-page-wrapper {
    background: var(--landing-xxx);

    .light-image-l {
      display: none !important;
    }

    .dark-image-l {
      display: inline-block !important;
    }

    .light-image-block-l {
      display: none !important;
    }

    .dark-image-block-l {
      display: block !important;
    }

    #backtotop {
      &.visible {
        a {
          background: var(--primary) !important;
          color: var(--smoke-white) !important;
        }
      }
    }
  }
}

/* ==========================================================================
2. Navigation
========================================================================== */

.landing-page-wrapper {
  .hero {
    .navbar {
      top: 15px;
      height: 65px;
      max-width: 1140px;
      margin: 0 auto;
      background-color: var(--white);
      box-shadow: var(--light-box-shadow);
      border: 1px solid var(--fade-grey);
      border-radius: 500px;
      font-family: var(--font);
      z-index: 99;
      transition: all 0.3s;

      &.is-docked {
        &:not(.is-solid) {
          top: 0;
          border-color: transparent;
          height: 110px;
          box-shadow: none;
          background: transparent;

          .navbar-brand {
            .brand-icon {
              height: 64px;
              width: 64px;
              background: var(--white);
              border-color: var(--fade-grey-dark-3);
            }
          }

          .navbar-menu {
            .navbar-item {
              &.is-theme-toggle {
                opacity: 0;
                pointer-events: none;
                transition: all 0.3s;
              }
            }
          }
        }

        &.is-solid {
          height: 65px !important;
        }
      }

      &.is-solid {
        background: var(--white) !important;
        border-radius: 10px 10px 0 0;
      }

      .navbar-brand {
        img {
          position: relative;
          display: block;
          width: 100%;
          max-width: 34px;
          max-height: 34px;
          margin-left: 10px;
        }

        .brand-icon {
          height: 50px;
          width: 50px;
          border-radius: var(--radius-rounded);
          display: flex;
          justify-content: center;
          align-items: center;
          border: 1px solid transparent;
          transition: all 0.3s;

          img {
            position: relative;
            top: -2px;
            margin-left: 0;
          }
        }
      }

      .navbar-burger {
        span {
          height: 2px;
        }
      }

      .navbar-menu {
        .navbar-item {
          &.is-theme-toggle {
            opacity: 1;
            pointer-events: all;
          }

          .nav-link {
            position: relative;
            font-family: var(--font-alt);
            font-size: 0.9rem;
            color: var(--light-text);
            text-transform: capitalize;

            &::before {
              content: '';
              position: absolute;
              top: -4px;
              left: 2px;
              width: 50%;
              -webkit-transform-origin: right center;
              -ms-transform-origin: right center;
              transform-origin: right center;
              height: 3px;
              border-radius: 50px;
              background: var(--primary);
              -webkit-transform: scale(0, 1);
              -ms-transform: scale(0, 1);
              transform: scale(0, 1);
              -webkit-transition: -webkit-transform 0.4s
                cubic-bezier(0.4, 0, 0.2, 1);
              transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
              transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
              transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            }

            //Hover state
            &:hover,
            &.is-active {
              color: var(--dark-text);

              &::before {
                -webkit-transform-origin: left center;
                -ms-transform-origin: left center;
                transform-origin: left center;
                -webkit-transform: scale(1, 1);
                -ms-transform: scale(1, 1);
                transform: scale(1, 1);
              }
            }

            &.active {
              &::before {
                background: var(--primary);
              }
            }
          }

          .theme-toggle {
            width: 54px;
            display: block;
            position: relative;
            cursor: pointer;
            font-size: 22px;
            user-select: none;
            transform: scale(0.9);

            input {
              position: absolute;
              opacity: 0;
              cursor: pointer;

              &:checked ~ .toggler {
                border-color: var(--primary);

                .dark,
                .light {
                  transform: translateX(100%) rotate(360deg);
                }

                .dark {
                  opacity: 1 !important;
                }

                .light {
                  opacity: 0 !important;
                }
              }
            }

            .toggler {
              position: relative;
              display: block;
              height: 31px;
              width: 53px;
              border: 2px solid var(--primary);
              border-radius: 100px;
              transition: all 0.3s;

              .dark,
              .light {
                position: absolute;
                top: 2px;
                left: 2px;
                height: 22px;
                width: 22px;
                border-radius: var(--radius-rounded);
                background: black;
                display: flex;
                justify-content: center;
                align-items: center;
                transform: translateX(0) rotate(0);
                transition: all 0.3s ease;

                svg {
                  color: var(--white) !important;
                  height: 14px !important;
                  width: 14px !important;
                  opacity: 1 !important;
                }
              }

              .light {
                background: var(--primary);
                border-color: var(--primary);
                opacity: 1;
                z-index: 1;
              }

              .dark {
                background: var(--primary);
                border-color: var(--primary);
                opacity: 0;
                z-index: 0;

                svg {
                  color: var(--white) !important;
                }
              }
            }
          }

          .button {
            height: 44px;
            min-width: 110px;
          }
        }
      }
    }
  }
}

/* ==========================================================================
3. Navigation Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .navbar {
      &:not(.is-docked) {
        background: var(--landing-xxx-light-8);
        border-color: var(--landing-xxx-light-14);
      }

      &.is-docked {
        .navbar-brand {
          .brand-icon {
            background: var(--landing-yyy-light-8) !important;
            border-color: var(--landing-yyy-light-18) !important;
          }
        }
      }

      &.is-solid {
        background: var(--landing-xxx-light-8) !important;
        border-color: var(--landing-xxx-light-14) !important;

        .navbar-brand {
          .brand-icon {
            border-color: transparent;
            background-color: transparent;
          }
        }

        .navbar-menu {
          &.is-active {
            background: var(--landing-xxx-light-12);
            border-color: var(--landing-xxx-light-14);
          }
        }
      }

      .navbar-burger {
        span {
          background: var(--smoke-white);
        }
      }

      .navbar-item {
        .nav-link {
          &:hover,
          &.is-active {
            color: var(--white) !important;
          }

          &::before {
            background: var(--primary);
          }
        }

        .button {
          &.is-primary {
            background: var(--primary);
            border-color: var(--primary);

            &.is-raised:hover {
              box-shadow: var(--primary-box-shadow);
            }
          }
        }
      }
    }
  }
}

/* ==========================================================================
4. Hero
========================================================================== */

.landing-page-wrapper {
  @keyframes gradientBG {
    0% {
      background-position: 0% 50%;
    }

    50% {
      background-position: 100% 50%;
    }

    100% {
      background-position: 0% 50%;
    }
  }

  //Canvas
  #demo-canvas {
    position: absolute;
    bottom: 20%;
    width: 100%;
    height: 100%;
    z-index: 0;
  }

  .hero {
    &.rounded-hero {
      position: relative;
      z-index: 10;

      &.is-active {
        .absolute-header {
          transform: translateY(0);

          .header-inner {
            .states {
              opacity: 1;
              transform: translateY(-50%) scale(1);
            }
          }
        }

        .hero-body {
          .hero-mockup {
            transform: translateY(0);
            // opacity: 1;
            pointer-events: all;
          }
        }
      }

      .hero-body {
        position: relative;
        z-index: 1;

        .switch-wrapper {
          margin: 80px auto 0 auto;
        }

        .title {
          color: var(--dark-text);

          span {
            color: var(--primary);
          }
        }

        .subtitle {
          color: var(--light-text);
          margin-bottom: 2rem;
        }

        .tag {
          position: relative;
          top: -2px;
          left: 2px;
          line-height: 2;
          font-weight: 500;
          max-height: 20px;
        }

        .hero-mockup {
          display: block;
          max-width: 740px;
          margin: 0 auto;
          transform: translateY(10px);
          // opacity: 0;
          border-radius: 12px;
          box-shadow: var(--light-box-shadow);
          pointer-events: none;
          transition: all 0.4s;
          transition-delay: 0.3s;
        }

        .buttons {
          display: flex;
          justify-content: center;
        }
      }
    }
  }

  .is-hero-title {
    z-index: 2;

    h1,
    h2 {
      color: var(--white);
    }
  }

  .absolute-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 580px;
    background: var(--widget-grey-dark-4);
    transform: translateY(-100%);
    transition: all 0.3s;

    .header-inner {
      position: relative;
      height: 100%;
      width: 100%;

      .cut-circle {
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 100%;
        height: auto;
      }
    }
  }
}

/* ==========================================================================
5. Hero Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .hero {
      .absolute-header {
        background-color: var(--landing-yyy);
      }

      .hero-body {
        .title {
          color: var(--smoke-white);

          span {
            color: var(--primary);
          }
        }

        .tag {
          background: var(--primary) !important;
        }
      }
    }
  }
}

/* ==========================================================================
6. Stacks
========================================================================== */

.stacks {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 540px;
  margin: 0 auto;
  padding: 20px 0 20px 0;

  .stack {
    height: 54px;
    width: 54px;
    min-width: 54px;
    border-radius: var(--radius-rounded);
    background: var(--white);
    border: 1px solid var(--fade-grey);
    box-shadow: var(--light-box-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 6px;

    img {
      display: block;
      height: 40px;
      width: 40px;
      border-radius: var(--radius-rounded);
    }
  }
}

/* ==========================================================================
7. Boxed Features
========================================================================== */

.boxed-features {
  &.is-flat {
    .flex-card {
      border: none !important;
      background: none !important;

      .flex-cell {
        border: none !important;
      }
    }
  }

  .flex-card {
    @include vuero-l-card();

    padding: 30px;
    display: flex;
    flex-wrap: wrap;

    .flex-cell {
      width: 25%;
      border-right: 1px solid var(--fade-grey-dark-3);
      text-align: center;
      padding: 24px 16px;

      &.is-bordered {
        border-bottom: 1px solid var(--fade-grey-dark-3);
      }

      &.no-border-edge {
        border-right: none;
      }

      i {
        font-size: 2.2rem;
        color: var(--primary);
        margin-bottom: 6px;
      }

      img {
        display: block;
        width: 100%;
        max-width: 64px;
        margin: 0 auto 6px auto;
      }

      h3 {
        font-family: var(--font-alt);
        font-weight: 600;
        font-size: 0.95rem;
        color: var(--dark-text);
      }

      p {
        font-size: 0.95rem;
        color: var(--light-text);
        max-width: 200px;
        margin: 0 auto;
      }
    }
  }
}

.is-dark {
  .boxed-features {
    .flex-card {
      @include vuero-card--dark();
    }
  }
}

/* ==========================================================================
8. Boxed Features Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .stacks {
      .stack {
        background: var(--landing-yyy-light-8);
        border-color: var(--landing-yyy-light-18);
      }
    }

    .boxed-features {
      .flex-card {
        background: var(--landing-yyy-dark-6);
        border-color: var(--landing-yyy-light-2);

        .flex-cell {
          border-color: var(--landing-yyy-light-4);

          i {
            color: var(--primary);
          }

          h3 {
            color: var(--dark-dark-text);
          }
        }
      }
    }
  }
}

/* ==========================================================================
9. Sections
========================================================================== */

.section {
  position: relative;

  &.section-focus {
    background: var(--widget-grey-dark-1);
  }

  .section-title {
    padding: 40px 0;

    h2 {
      font-family: var(--font-alt);
      margin-bottom: 6px;
      font-weight: 300;
    }

    h4 {
      font-family: var(--font);
      color: var(--light-text);
      font-size: 1.4rem;
      font-weight: 300;
    }
  }

  .section-feature-description {
    font-size: 1.2rem;
  }

  .side-feature {
    h2 {
      font-family: var(--font);
      font-weight: 300;
    }
  }
}

/* ==========================================================================
10. Sections Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .section {
      &.section-focus {
        background: var(--landing-xxx-light-2);
      }

      .section-title {
        h2 {
          color: var(--dark-dark-text);
        }
      }

      .side-feature {
        h2,
        h3 {
          color: var(--dark-dark-text);
        }
      }
    }
  }
}

/* ==========================================================================
11. CTA block
========================================================================== */

.cta-block {
  padding-bottom: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  border-bottom: 1px solid var(--fade-grey-dark-4);
  margin: 40px 0;

  &.no-border {
    padding-bottom: 2rem;
    border-bottom: none;
  }

  &.is-box {
    padding: 3rem 2rem;
    background: var(--white);
    border-radius: 8px;
    box-shadow: var(--light-box-shadow);
    border: 1px solid var(--fade-grey);
    justify-content: space-between;
  }

  .head-text {
    h3 {
      font-family: var(--font-alt);
      font-size: 1.8rem;
      color: var(--dark-text);
    }

    p {
      font-family: var(--font);
      font-size: 1.1rem;
      color: var(--light-text);
    }
  }

  .head-action {
    .buttons {
      .button {
        &.action-button {
          height: 36px;
          min-width: 140px;
        }

        &.chat-button {
          background: transparent;
          border: none;
          outline: none;
          box-shadow: none;
          color: var(--primary);
          font-weight: 500;
        }
      }
    }
  }
}

/* ==========================================================================
12. CTA block Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .cta-block {
      border-color: var(--landing-yyy-light-4);

      .head-text {
        h3 {
          color: var(--dark-dark-text);
        }
      }

      .head-action {
        .buttons {
          .button {
            &.action-button {
              background: var(--primary);
              border-color: var(--primary);
            }

            &.chat-button {
              color: var(--primary);
              background: none !important;
            }
          }
        }
      }
    }
  }
}

/* ==========================================================================
13. Demos
========================================================================== */

.vuero-demos {
  .demo-section {
    margin-bottom: 100px;

    .demo-section-title {
      display: flex;
      align-items: center;
      margin-bottom: 30px;

      img {
        display: block;
        width: 100%;
        max-width: 100px;
      }

      .title-meta {
        margin-left: 12px;
        line-height: 1.2;

        h3 {
          font-family: var(--font-alt);
          font-weight: 500;
          font-size: 1.3rem;
          color: var(--dark-text);
        }

        p {
          font-family: var(--font);
          font-size: 1.1rem;
          color: var(--light-text);
        }
      }
    }
  }
}

.vuero-demo-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid var(--fade-grey-dark-5);
  min-height: 205px;

  &:hover {
    .circle-overlay {
      transform: scale(35);
    }

    .demo-title {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 0 !important;
    }

    .demo-link {
      color: var(--white);
      opacity: 1;
      transform: translateY(0);
      transition-delay: 0 !important;
    }
  }

  &::after {
    // @extend %loader;

    position: absolute !important;
    top: 40%;
    left: 42%;
    height: 3.5rem;
    width: 3.5rem;
    transform: translate(-50%, -50%);
    z-index: 4;
  }

  &.loaded {
    &::after {
      display: none !important;
    }
  }

  img {
    border-radius: 10px;
    max-width: 100%;
    width: 100%;
  }

  .new-tag {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: red;
    color: var(--white);
    font-family: var(--font);
    padding: 6px 16px;
    border-radius: 8px;
    text-transform: uppercase;
    font-size: 0.8rem;
    z-index: 3;
  }

  .circle-overlay {
    position: absolute;
    top: -60px;
    left: -60px;
    width: 60px;
    height: 60px;
    border-radius: var(--radius-rounded);
    background: var(--primary);
    transform: scale(1);
    transition: all 0.5s;
    z-index: 1;
  }

  .demo-info {
    position: absolute;
    margin: 0 auto;
    top: 26%;
    left: 0;
    right: 0;
    z-index: 2;
    color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .demo-title {
    color: var(--white);
    font-family: var(--font);
    font-size: 1.5rem;
    font-weight: 600;
    opacity: 0;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--primary-light-20);
    transform: translateY(20px);
    transition: all 0.3s;
    transition-delay: 0.1s;

    span {
      display: block;

      &:first-child {
        text-transform: uppercase;
        font-size: 0.75rem;
      }

      &:nth-child(2) {
        font-weight: 300;
      }
    }
  }

  .demo-link {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s;
    transition-delay: 0.2s;

    a {
      font-family: var(--font);
      color: var(--white);
      font-size: 1rem;
      margin-left: 8px;

      i {
        position: relative;
        top: 1px;
        opacity: 0;
        transform: translateX(0);
        transition: all 0.3s ease-out;
      }

      &:hover i {
        opacity: 1;
        transform: translateX(5px);
      }
    }
  }
}

.component-features {
  .media-flex {
    .left-icon {
      margin-right: 10px;

      i {
        color: var(--primary);
        font-size: 2.6rem;
      }
    }

    .flex-meta {
      h4 {
        font-family: var(--font-alt);
        font-size: 1.2rem;
        font-weight: 500;
        margin-bottom: 4px;
      }

      p {
        font-family: var(--font);
        line-height: 1.4;
      }
    }
  }
}

.component-box {
  display: block;
  text-align: center;
  background: var(--white);
  border: 1px solid var(--fade-grey-dark-3);
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 0;
  transition: all 0.3s;
  cursor: pointer;

  &:hover {
    transform: translateY(-5px);
    box-shadow: var(--light-box-shadow);
    border-color: var(--primary);

    .component {
      img {
        filter: grayscale(0);
        opacity: 1;
      }
    }

    .component-title {
      color: var(--dark-text);
    }
  }

  .component {
    img {
      display: block;
      filter: grayscale(1);
      opacity: 0.6;
      max-height: 80px;
      transition: all 0.3s;
    }
  }

  .component-title {
    font-family: var(--font-alt);
    font-size: 1rem;
    padding-top: 6px;
    color: var(--light-text);
    transition: color 0.3s;
  }
}

/* ==========================================================================
14. Demos Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .vuero-demos {
      .demo-section {
        .demo-section-title {
          .title-meta {
            h3 {
              color: var(--dark-dark-text);
            }
          }
        }
      }

      .vuero-demo-wrapper {
        border-color: var(--dark-sidebar-light-12);

        .circle-overlay {
          background: var(--primary);
        }

        .demo-title {
          border-color: var(--primary-light-10);
        }
      }
    }

    .component-features {
      .media-flex {
        .left-icon {
          i {
            color: var(--primary);
          }
        }

        .flex-meta {
          h4 {
            color: var(--dark-dark-text);
          }
        }
      }
    }

    .button {
      &.is-huge {
        background: var(--primary);
        border-color: var(--primary);
      }
    }

    .vertical-tabs-wrapper {
      .tabs {
        ul {
          li {
            &.is-active {
              a {
                color: var(--primary);
                border-color: var(--primary);
              }
            }

            a {
              border-color: var(--landing-xxx-light-18);
            }
          }
        }
      }
    }

    .component-box {
      background: var(--landing-yyy-dark-6);
      border-color: var(--landing-yyy-light-2);

      &:hover {
        border-color: var(--primary);

        .component-title {
          color: var(--primary);
        }
      }
    }
  }
}

/* ==========================================================================
15. footer
========================================================================== */

.vuero-footer {
  padding-bottom: 0 !important;
  padding-top: 4rem !important;
  background: var(--body-color);

  .footer-head {
    padding-bottom: 3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--fade-grey-dark-4);

    .head-text {
      h3 {
        font-family: var(--font);
        font-size: 1.8rem;
        color: var(--dark-text);
      }

      p {
        font-size: 1.1rem;
        color: var(--light-text);
      }
    }

    .head-action {
      .buttons {
        .button {
          &.action-button {
            height: 36px;
            min-width: 140px;
          }

          &.chat-button {
            background: transparent;
            border: none;
            outline: none;
            box-shadow: none;
            color: var(--primary);
            font-weight: 500;
          }
        }
      }
    }
  }

  .footer-body {
    padding-top: 3rem;

    .footer-column {
      padding-top: 20px;

      .column-header {
        font-family: var(--font-alt);
        text-transform: uppercase;
        color: var(--dark-text);
        font-size: 1rem;
        font-weight: 700;
        margin: 10px 0;
      }

      .column-item {
        padding-bottom: 10px;

        a {
          font-family: var(--font);
          color: var(--light-text);

          &:hover {
            color: var(--primary);
          }
        }
      }
    }

    .social-links {
      display: flex;
      justify-content: flex-start;
      align-items: center;

      a {
        color: var(--light-text);
        margin: 0 5px;

        &:hover {
          color: var(--primary);
        }
      }
    }

    .footer-description {
      color: var(--light-text);
    }

    .moto {
      color: var(--light-text);
    }

    .small-footer-logo {
      height: 36px;
    }
  }

  .footer-copyright {
    font-family: var(--font);
    color: var(--light-text);
    padding: 4rem 0 2rem 0;

    a {
      color: var(--light-text);

      &:hover {
        color: var(--primary);
      }
    }
  }
}

/* ==========================================================================
16. Footer Dark mode
========================================================================== */

.is-dark {
  .landing-page-wrapper {
    .vuero-footer {
      background: var(--landing-xxx-light-8);

      .footer-head {
        border-color: var(--landing-xxx-light-18);

        .head-text {
          h3 {
            color: var(--dark-dark-text);
          }

          p {
            font-size: 1.1rem;
            color: var(--light-text);
          }
        }

        .head-action {
          .buttons {
            .button {
              &.action-button {
                background: var(--primary);
                border-color: var(--primary);
              }

              &.chat-button {
                color: var(--primary);
                background: none !important;
              }
            }
          }
        }
      }

      .footer-body {
        .footer-column {
          .column-header {
            color: var(--dark-dark-text);
          }

          .column-item {
            a:hover {
              color: var(--primary);
            }
          }
        }

        .social-links {
          a:hover {
            color: var(--primary);
          }
        }
      }

      .footer-copyright {
        a {
          &:hover {
            color: var(--primary);
          }
        }
      }
    }
  }
}

/* ==========================================================================
17. Night Switch
========================================================================== */

.switch-wrapper {
  position: relative;
  width: 130px;

  .night-toggle {
    display: block;
    text-align: center;
    user-select: none;
    transform: scale(0.6);
  }

  .night-toggle--checkbox {
    display: none;
  }

  .night-toggle--btn {
    display: block;
    margin: 0 auto;
    font-size: 1.4em;
    transition: all 350ms ease-in;

    &:hover {
      cursor: pointer;
    }
  }

  .night-toggle--btn,
  .night-toggle--checkbox,
  .night-toggle--feature {
    &,
    &::before,
    &::after {
      transition: all 250ms ease-in;
    }

    &::before,
    &::after {
      content: '';
      display: block;
    }
  }

  $toggleHeight: 70px;
  $toggleWidth: 125px;
  $borderWidth: 5px;
  $toggleBtnRadius: $toggleHeight - 14px;

  $bgColor--night: #3c4145;
  $borderColor--night: #1c1c1c;
  $toggleBtn-bgColor--night: var(--white);
  $toggleBtn-borderColor--night: #e3e3c7;

  $bgColor--day: #cdcdfa; // lighten(#797bf2, 18%);
  $borderColor--day: #babbf8; //lighten(#797bf2, 14%);
  $toggleBtn-bgColor--day: #ffdf6d;
  $toggleBtn-borderColor--day: #e1c348;

  $cloud-borderColor: #d3d3d3;
  $cloud-bgColor: var(--white);

  .night-toggle--daynight,
  .night-toggle--like {
    .night-toggle--btn {
      position: relative;
      height: $toggleHeight;
      width: $toggleWidth;
      border-radius: $toggleHeight;

      //toggle button
      &::before {
        position: absolute;
        top: 2px;
        left: 4px;
        width: $toggleBtnRadius;
        height: $toggleBtnRadius;
        border-radius: var(--radius-rounded);
      }
    }
  }

  .night-toggle--daynight {
    .night-toggle--btn {
      border: $borderWidth solid $borderColor--night;
      background-color: $bgColor--night;

      //toggle button
      &::before {
        background-color: $toggleBtn-bgColor--night;
        border: $borderWidth solid $toggleBtn-borderColor--night;
      }

      &::after {
        position: absolute;
        top: 62%;
        left: $toggleWidth - $toggleBtnRadius - $borderWidth * 2 - 20px;
        z-index: 10;
        width: $toggleBtnRadius / 5;
        height: $toggleBtnRadius / 5;
        opacity: 0;
        background-color: $cloud-bgColor;
        border-radius: var(--radius-rounded);

        //crazy ass box-shadow to make the cloud
        box-shadow: $cloud-bgColor 0 0, $cloud-bgColor 3px 0,
          $cloud-bgColor 6px 0, $cloud-bgColor 9px 0, $cloud-bgColor 11px 0,
          $cloud-bgColor 14px 0, $cloud-bgColor 16px 0,
          $cloud-bgColor 21px -1px 0 1px, $cloud-bgColor 16px -7px 0 -2px,
          $cloud-bgColor 7px -7px 0 1px, $cloud-borderColor 0 0 0 4px,
          $cloud-borderColor 6px 0 0 4px, $cloud-borderColor 11px 0 0 4px,
          $cloud-borderColor 16px 0 0 4px, $cloud-borderColor 21px -1px 0 5px,
          $cloud-borderColor 16px -7px 0 1px, $cloud-borderColor 7px -7px 0 5px;
        transition: opacity 100ms ease-in;
      }
    }

    @keyframes starry_star {
      50% {
        background-color: rgba(255, 255, 255, 0.1);
        box-shadow: var(--white) 30px -3px 0 0, var(--white) 12px 10px 0 -1px,
          rgba(255, 255, 255, 0.1) 38px 18px 0 1px, var(--white) 32px 34px 0 0,
          rgba(255, 255, 255, 0.1) 20px 24px 0 -1.5px,
          var(--white) 5px 38px 0 1px;
      }
    }

    @keyframes bounceIn {
      0% {
        opacity: 0;
        transform: scale(0.3);
      }

      50% {
        opacity: 100;
        transform: scale(1.1);
      }

      55% {
        transform: scale(1.1);
      }

      75% {
        transform: scale(0.9);
      }

      100% {
        opacity: 100;
        transform: scale(1);
      }
    }

    //stars
    .night-toggle--feature {
      display: block;
      position: absolute;
      top: 9px;
      left: 52.5%;
      z-index: 20;
      width: 4px;
      height: 4px;
      border-radius: var(--radius-rounded);
      background-color: var(--white);
      box-shadow: rgba(255, 255, 255, 0.1) 30px -3px 0 0,
        rgba(255, 255, 255, 0.1) 12px 10px 0 -1px, var(--white) 38px 18px 0 1px,
        rgba(255, 255, 255, 0.1) 32px 34px 0 0, var(--white) 20px 24px 0 -1.5px,
        rgba(255, 255, 255, 0.1) 5px 38px 0 1px;
      animation: starry_star 5s ease-in-out infinite;

      &::before {
        position: absolute;
        top: -2px;
        left: -25px;
        width: 18px;
        height: 18px;
        background-color: $toggleBtn-bgColor--night;
        border-radius: var(--radius-rounded);
        border: 5px solid $toggleBtn-borderColor--night;
        box-shadow: $toggleBtn-borderColor--night -28px 0 0 -3px,
          $toggleBtn-borderColor--night -8px 24px 0 -2px;
        transform-origin: -6px 130%;
      }
    }

    //what happens once checkbox is checked
    .night-toggle--checkbox:checked {
      & + .night-toggle--btn {
        background-color: $bgColor--day;
        border: $borderWidth solid $borderColor--day;

        &::before {
          left: $toggleWidth - $toggleBtnRadius - $borderWidth * 2 - 4px;
          background-color: $toggleBtn-bgColor--day;
          border: $borderWidth solid $toggleBtn-borderColor--day;
        }

        &::after {
          opacity: 100;
          animation-name: bounceIn;
          animation-duration: 0.6s;
          animation-delay: 0.1s;
          animation-fill-mode: backwards;
          animation-timing-function: ease-in-out;
        }

        > .night-toggle--feature {
          opacity: 0;
          box-shadow: rgba(255, 255, 255, 0.1) 30px -3px 0 -4px,
            rgba(255, 255, 255, 0.1) 12px 10px 0 -5px,
            var(--white) 38px 18px 0 -3px,
            rgba(255, 255, 255, 0.1) 32px 34px 0 -4px,
            var(--white) 20px 24px 0 -5.5px,
            rgba(255, 255, 255, 0.1) 5px 38px 0 -3px;
          animation: none;

          &::before {
            left: 25px;
            transform: rotate(70deg);
          }
        }
      }
    }
  }
}

/* ==========================================================================
18. CTA Section
========================================================================== */

.cta-wrapper {
  .cta-title {
    text-align: center;

    h3 {
      font-family: var(--font-alt);
      font-weight: 300;
      font-size: 1.5rem;
      color: var(--light-text);
      margin-bottom: 20px;
    }

    .custom-button {
      display: flex;
      align-items: center;
      margin: 10px auto;
      max-width: 200px;
      font-family: var(--font);
      border: 2px solid #d3f4ed;
      border-radius: 100px;
      background: #d3f4ed;
      box-shadow: var(--light-box-shadow);
      transition: all 0.3s;

      img {
        display: block;
        height: 50px;
        width: 50px;
      }

      span {
        display: block;
        font-family: var(--font);
        font-weight: 600;
        font-size: 1rem;
        color: darken(#8edfcf, 18%);
        margin-left: 22px;
        transition: color 0.3s;
      }
    }
  }
}

/* ==========================================================================
19. Media Queries
========================================================================== */

@media (max-width: 767px) {
  .landing-page-wrapper {
    .navbar {
      display: flex;
      align-items: center;
      width: calc(100% - 32px);
      margin: 0 16px;

      &.is-docked {
        height: 80px;

        .navbar-menu {
          .navbar-item {
            &.is-theme-toggle {
              display: none !important;
            }
          }
        }
      }

      &.is-solid {
        .navbar-menu {
          top: 73px !important;
        }
        .navbar-menu {
          .navbar-item {
            &.is-theme-toggle {
              display: block;
            }
          }
        }
      }

      &.is-solid {
        top: 10px;
        box-shadow: var(--light-box-shadow) !important;

        .navbar-brand {
          .brand-icon {
            border-color: transparent;
          }
        }

        .navbar-menu {
          box-shadow: var(--light-box-shadow) !important;
        }
      }

      .navbar-brand {
        width: 100%;

        .navbar-burger {
          border-radius: var(--radius-rounded);
          margin-right: 12px;
        }
      }

      .navbar-menu {
        width: calc(100% - 32px);
        position: fixed;
        top: 78px;
        left: 0;
        right: 0;
        margin: 0 auto;
        border-radius: 0 0 10px 10px;
        padding: 30px;
        text-align: center;
        border: 1px solid var(--fade-grey);
        box-shadow: none;

        .navbar-item {
          &.is-theme-toggle {
            .theme-toggle {
              margin: 0 auto;
            }
          }

          .button {
            width: 100%;
          }
        }
      }
    }

    .rounded-hero {
      min-height: 75vh !important;
      max-height: 75vh;

      .absolute-header {
        height: 500px;
      }

      .hero-body {
        .hero-mockup {
          max-width: 340px !important;
        }

        h1 {
          font-size: 3.2rem !important;
        }
      }
    }

    .boxed-features {
      .flex-card {
        .flex-cell {
          width: 100%;
          border-right: none;
          border-bottom: 1px solid var(--fade-grey-dark-3);

          &:last-child {
            border-bottom: none;
          }
        }
      }
    }

    .cta-block {
      flex-direction: column;
      text-align: center;

      .head-text {
        padding-bottom: 20px;
      }
    }
  }

  .vuero-demo-wrapper {
    min-height: 184px;
  }

  .side-feature {
    margin-bottom: 60px !important;
  }

  .vuero-footer {
    .footer-head {
      flex-direction: column;
      text-align: center;

      .head-text {
        padding-bottom: 20px;
      }
    }

    .footer-body {
      padding-left: 20px;
      padding-right: 20px;
    }
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .landing-page-wrapper {
    .navbar {
      display: flex;
      align-items: center;
      width: calc(100% - 32px);
      margin: 0 16px;

      &.is-docked {
        height: 80px;

        .navbar-menu {
          .navbar-item {
            &.is-theme-toggle {
              display: none !important;
            }
          }
        }
      }

      &:not(.is-docked) {
        &.is-solid {
          .navbar-menu {
            top: 73px !important;
          }
        }

        .navbar-menu {
          .navbar-item {
            &.is-theme-toggle {
              display: block;
            }
          }
        }
      }

      &.is-solid {
        top: 10px;
        box-shadow: var(--light-box-shadow) !important;

        .navbar-brand {
          .brand-icon {
            border-color: transparent;
          }
        }

        .navbar-menu {
          box-shadow: var(--light-box-shadow) !important;
        }
      }

      .navbar-brand {
        width: 100%;

        .navbar-burger {
          height: 40px;
          width: 40px;
          border-radius: var(--radius-rounded);
          margin-right: 12px;
        }
      }

      .navbar-menu {
        width: calc(100% - 32px);
        position: fixed;
        top: 78px;
        left: 0;
        right: 0;
        margin: 0 auto;
        border-radius: 0 0 10px 10px;
        padding: 30px;
        text-align: center;
        border: 1px solid var(--fade-grey);
        box-shadow: none;

        .navbar-item {
          &.is-theme-toggle {
            .theme-toggle {
              margin: 0 auto;
            }
          }

          .button {
            width: 100%;
          }
        }
      }
    }

    .main-hero {
      .is-hero-title {
        text-align: center !important;

        .buttons {
          justify-content: center;
        }
      }
    }

    .rounded-hero {
      min-height: 75vh !important;

      .hero-body {
        .hero-mockup {
          max-width: 610px !important;
        }
      }
    }

    .vuero-demos {
      .demo-section {
        .columns {
          display: flex;

          .column.is-4 {
            min-width: 50% !important;
          }
        }
      }
    }

    .side-feature {
      display: flex;
    }

    .component-features {
      .media-flex {
        flex-direction: column;
        text-align: center;

        .left-icon,
        .flex-meta {
          margin: 0;
        }

        .left-icon {
          margin-bottom: 10px;
        }
      }
    }

    .vuero-components {
      .tab-content {
        .columns {
          display: flex;

          .column.is-3 {
            min-width: 33.3% !important;
          }
        }
      }
    }
  }

  .vuero-footer {
    .footer-head,
    .footer-body {
      padding-left: 20px;
      padding-right: 20px;
    }

    .footer-description {
      max-width: 400px;
    }
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .landing-page-wrapper {
    .navbar {
      width: calc(100% - 40px);
      margin: 0 20px;
    }
  }

  .vuero-demo-wrapper {
    min-height: 174px;
  }

  .vuero-footer {
    .footer-head,
    .footer-body {
      padding-left: 20px;
      padding-right: 20px;
    }
  }
}
